The problem of design, development and control of multi-agent systems has been studied in recent years for many applications. In particular, the use of systems consisting of multiple autonomous robots or unmanned aerial vehicles (UAV's) has been proposed in order to meet the requirements of complex missions. Control, communication and decision support systems for UAV's constitute rapidly evolving research and development fields, as indicated by the Department of Defense UAV Roadmap 2002-2027. The use of groups of cooperating UAV's in order to perform various missions is currently studied throughout the world and is considered a main research goal by the United States Air Force Research Laboratory (AFRL).
Using a cooperative group of UAV's for autonomously attaining a given goal requires that each agent assume a certain task at a given time. The global result of the group of UAV's acting together is the execution of a mission, e.g. search and attack, comprising the tasks of search (look for a suspected target), identification (determine that the suspected target is a legitimate target), track (update the target location) and attack (launch munitions).
Assigning multiple UAV's to perform these tasks according to their capabilities is a challenge that requires the development of specialized algorithms. These algorithms may be classified into two main types: optimal and heuristic. While optimal algorithms yield better results in terms of task assignment, they are usually more sensitive to system uncertainties, enemy behavior, and environment changes. Heuristic algorithms, on the other hand, are usually sub-optimal but more robust. It would be desirable to develop a heuristic task assignment (TA) algorithm, which is robust to changes in the UAV group properties. An issue strongly related to cooperative UAV motion is flocking (also referred to as formation flying). Prior art simulated biological flocking behavior is based on cohesion (agents converge onto a given point), alignment (velocity matching in order to move at a give direction), collision avoidance (preventing an agent from colliding with other agents), obstacle avoidance (steering the agents away from obstacles) and migration (path following). It would be highly desirable to implement a behavioral flocking model for UAV's in order to avoid collisions and improve mission execution by facilitating wide theater coverage.